home *** CD-ROM | disk | FTP | other *** search
/ CD Classic 39 / CD CLASSIC #39 (1998).iso / EMPRESA / visio / Vistdstd / Install / Data.Z / Vfwddecl.H < prev    next >
C/C++ Source or Header  |  1997-11-11  |  5KB  |  127 lines

  1. //    VFWDDECL.H - Forward declarations compatible with the "C" compiler.
  2. //    Copyright (C) 1996-1997 Visio Corporation. All rights reserved.
  3. //
  4.  
  5. #ifndef _vfwddecl_H
  6. #define _vfwddecl_H
  7.  
  8. //  ********************************************************************************
  9.  
  10. //    This is an example of what we want the IFACE_DECL macro to expand to:
  11. //    (Assumes 32-bit or large memory model, i.e. no need for FAR)
  12.  
  13. //    For C:
  14. //        typedef interface Application Application;
  15. //        typedef Application *LPVISIOAPPLICATION;
  16.  
  17. //    For C++:
  18. //        interface Application;
  19. //        typedef Application *LPVISIOAPPLICATION;
  20.  
  21. //  ********************************************************************************
  22.  
  23. #ifndef __cplusplus
  24. //    Must be the "C" compiler, do it the way "C" understands it:
  25. #define IFACE_DECL(name, ptrName)\
  26.     typedef interface name name;\
  27.     typedef name *ptrName;
  28. #endif
  29.  
  30. #ifndef IFACE_DECL
  31. //    Compiling with C++ (probably!), do it the way C++ understands it:
  32. #define IFACE_DECL(name, ptrName)\
  33.     interface name;\
  34.     typedef name *ptrName;
  35. #endif
  36.  
  37. //  ********************************************************************************
  38. //    Forward interface declarations
  39. //        for all of the "ivisprox.h" Visio v4.1 OLE-exposed automation objects
  40.  
  41. #ifndef VISIO_LPS_FORWARD_DECLARED
  42. #define VISIO_LPS_FORWARD_DECLARED
  43.  
  44. IFACE_DECL(IVApplication, LPVISIOAPPLICATION)
  45. IFACE_DECL(IVCell,        LPVISIOCELL)
  46. IFACE_DECL(IVCharacters,  LPVISIOCHARS)
  47. IFACE_DECL(IVConnect,     LPVISIOCONNECT)
  48. IFACE_DECL(IVConnects,    LPVISIOCONNECTS)
  49. IFACE_DECL(IVDocument,    LPVISIODOCUMENT)
  50. IFACE_DECL(IVDocuments,   LPVISIODOCUMENTS)
  51. IFACE_DECL(IVMaster,      LPVISIOMASTER)
  52. IFACE_DECL(IVMasters,     LPVISIOMASTERS)
  53. IFACE_DECL(IVPage,        LPVISIOPAGE)
  54. IFACE_DECL(IVPages,       LPVISIOPAGES)
  55. IFACE_DECL(IVSelection,   LPVISIOSELECTION)
  56. IFACE_DECL(IVShape,       LPVISIOSHAPE)
  57. IFACE_DECL(IVShapes,      LPVISIOSHAPES)
  58. IFACE_DECL(IVStyle,       LPVISIOSTYLE)
  59. IFACE_DECL(IVStyles,      LPVISIOSTYLES)
  60. IFACE_DECL(IVWindow,      LPVISIOWINDOW)
  61. IFACE_DECL(IVWindows,     LPVISIOWINDOWS)
  62. IFACE_DECL(IVLayer,       LPVISIOLAYER)
  63. IFACE_DECL(IVLayers,      LPVISIOLAYERS)
  64. IFACE_DECL(IVFont,        LPVISIOFONT)
  65. IFACE_DECL(IVFonts,       LPVISIOFONTS)
  66. IFACE_DECL(IVColor,       LPVISIOCOLOR)
  67. IFACE_DECL(IVColors,      LPVISIOCOLORS)
  68. IFACE_DECL(IVAddon,       LPVISIOADDON)
  69. IFACE_DECL(IVAddons,      LPVISIOADDONS)
  70. IFACE_DECL(IVEvent,       LPVISIOEVENT)
  71. IFACE_DECL(IVEventList,   LPVISIOEVENTS)
  72.  
  73. //  ********************************************************************************
  74. //    These are only in the v4.2 header file, but need to be forward declared before
  75. //        including "visio.h" when compiling with the compatibility layer in "C"
  76.  
  77. IFACE_DECL(IVMenuItem,        LPVISIOMENUITEM)
  78. IFACE_DECL(IVMenuItems,       LPVISIOMENUITEMS)
  79. IFACE_DECL(IVMenu,            LPVISIOMENU)
  80. IFACE_DECL(IVMenus,           LPVISIOMENUS)
  81. IFACE_DECL(IVMenuSet,         LPVISIOMENUSET)
  82. IFACE_DECL(IVMenuSets,        LPVISIOMENUSETS)
  83. IFACE_DECL(IVToolbarItem,     LPVISIOTOOLBARITEM)
  84. IFACE_DECL(IVToolbarItems,    LPVISIOTOOLBARITEMS)
  85. IFACE_DECL(IVToolbar,         LPVISIOTOOLBAR)
  86. IFACE_DECL(IVToolbars,        LPVISIOTOOLBARS)
  87. IFACE_DECL(IVToolbarSet,      LPVISIOTOOLBARSET)
  88. IFACE_DECL(IVToolbarSets,     LPVISIOTOOLBARSETS)
  89. IFACE_DECL(IVStatusBarItem,   LPVISIOSTATUSBARITEM)
  90. IFACE_DECL(IVStatusBarItems,  LPVISIOSTATUSBARITEMS)
  91. IFACE_DECL(IVStatusBar,       LPVISIOSTATUSBAR)
  92. IFACE_DECL(IVStatusBars,      LPVISIOSTATUSBARS)
  93. IFACE_DECL(IVAccelItem,       LPVISIOACCELITEM)
  94. IFACE_DECL(IVAccelItems,      LPVISIOACCELITEMS)
  95. IFACE_DECL(IVAccelTable,      LPVISIOACCELTABLE)
  96. IFACE_DECL(IVAccelTables,     LPVISIOACCELTABLES)
  97. IFACE_DECL(IVUIObject,        LPVISIOUIOBJECT)
  98.  
  99. IFACE_DECL(IEnumVMenuItem,      LPVISIOENUMVMENUITEM);
  100. IFACE_DECL(IEnumVMenu,          LPVISIOENUMVMENU);
  101. IFACE_DECL(IEnumVMenuSet,       LPVISIOENUMVMENUSET);
  102. IFACE_DECL(IEnumVToolbarItem,   LPVISIOENUMVTOOLBARITEM);
  103. IFACE_DECL(IEnumVToolbar,       LPVISIOENUMVTOOLBAR);
  104. IFACE_DECL(IEnumVToolbarSet,    LPVISIOENUMVTOOLBARSET);
  105. IFACE_DECL(IEnumVStatusBarItem, LPVISIOENUMVSTATUSBARITEM);
  106. IFACE_DECL(IEnumVStatusBar,     LPVISIOENUMVSTATUSBAR);
  107. IFACE_DECL(IEnumVAccelItem,     LPVISIOENUMVACCELITEM);
  108. IFACE_DECL(IEnumVAccelTable,    LPVISIOENUMVACCELTABLE);
  109.  
  110. //  ********************************************************************************
  111. //    New tyepdefs in Visio 5.0:
  112. //    (We still need to update these here so that plain "C" files will compile...)
  113.  
  114. IFACE_DECL(IVHyperlink,       LPVISIOHYPERLINK);
  115. IFACE_DECL(IVOLEObjects,      LPVISIOOBJECTS);
  116. IFACE_DECL(IVOLEObject,       LPVISIOOBJECT);
  117. IFACE_DECL(IVPaths,           LPVISIOPATHS);
  118. IFACE_DECL(IVPath,            LPVISIOPATH);
  119. IFACE_DECL(IVCurve,           LPVISIOCURVE);
  120.  
  121.  
  122. #endif    //    VISIO_LPS_FORWARD_DECLARED
  123.  
  124. //  ********************************************************************************
  125.  
  126. #endif    //    _vfwddecl_H
  127.